package com.ruoyi.equ.mapper;

import java.util.List;

import com.ruoyi.equ.domain.EquRepair;
import com.ruoyi.equ.domain.vo.EquRepairVos;
import com.ruoyi.equ.domain.vo.SignAndStampVo;
import org.apache.ibatis.annotations.Param;

/**
 * 维修工单Mapper接口
 *
 * @author ruoyi
 * @date 2025-11-05
 */
public interface EquRepairMapper
{
    /**
     * 查询维修工单
     *
     * @param repairId 维修工单主键
     * @return 维修工单
     */
    public EquRepair selectEquRepairByRepairId(Long repairId);

    /**
     * 查询维修工单列表
     *
     * @param equRepair 维修工单
     * @return 维修工单集合
     */
    public List<EquRepair> selectEquRepairList(EquRepair equRepair);

    /**
     * 查询维修工单列表（最近3条）
     * @param equRepair
     * @return
     */
    List<EquRepair> selectEquRepairListThree(EquRepair equRepair);

    /**
     * 新增维修工单
     *
     * @param equRepair 维修工单
     * @return 结果
     */
    public int insertEquRepair(EquRepair equRepair);

    /**
     * 修改维修工单
     *
     * @param equRepair 维修工单
     * @return 结果
     */
    public int updateEquRepair(EquRepair equRepair);

    /**
     * 删除维修工单
     *
     * @param repairId 维修工单主键
     * @return 结果
     */
    public int deleteEquRepairByRepairId(Long repairId);

    /**
     * 批量删除维修工单
     *
     * @param repairIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteEquRepairByRepairIds(Long[] repairIds);


    SignAndStampVo getSignAndStamp(Long userId, Long deptId);


    List<String> selectUseDeptList();

    public List<EquRepair> selectEquRepairListByMonth(@Param("repair") EquRepair repair, @Param("month") Integer month);
    /**
     * 查询维修工单列表
     */
    List<EquRepairVos> selectEquRepairVoList(EquRepairVos repairVos);
    /**
     * 获取维修记录详细信息
     */
    List<EquRepair> getRepairsByAssetId(Long assetId);
}
